package com.whsxt.service;

import com.github.pagehelper.PageInfo;
import com.whsxt.domain.User;
import com.whsxt.dto.UserDto;

import java.util.List;
import java.util.Set;

public interface UserService {
    /**
     * 根据用户名查询出用户实体对象
     * @param username
     * @return
     */
    User loadUserByUsername(String username);

    /**
     * 分页查询用户的数据
     */
    PageInfo<User> findPage(UserDto userDto);

    /**
     * 通过id批量删除用户的信息
     * @param ids
     * @return
     */
    boolean batchDelete(List<Integer> ids);

    /**
     * 新增用户
     * @param userDto
     * @return
     */
    boolean save(UserDto userDto);

    /**
     * 修改用户信息
     * @param userDto
     * @return
     */
    boolean update(UserDto userDto);

    /**
     * 修改用户的禁用状态
     * @param id
     * @return
     */
    boolean updateDeleted(Integer id);

    /**
     * 为用户分配角色
     * @param userId
     * @param roleIds
     * @return
     */
    boolean assign(Integer userId, Integer[] roleIds);
}
